package com.example.customer01.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 课程实体类
 */
@Data
@Accessors(chain = true)
@TableName("course")
public class Course {
    /**
     * 课程ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 课程代码
     */
    private String courseCode;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 课程描述
     */
    private String description;

    /**
     * 学分
     */
    private Integer credit;

    /**
     * 授课教师
     */
    private String teacher;

    /**
     * 最大学生数
     */
    private Integer maxStudents;

    /**
     * 课程状态（ACTIVE-活跃, INACTIVE-非活跃）
     */
    private String status;

    /**
     * 是否删除（0-未删除，1-已删除）
     */
    @TableLogic
    private Integer deleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 学生选课列表
     */
    @TableField(exist = false)
    private List<StudentCourse> studentCourses;
} 